Page({
  data: {
    isLoggedIn: false,
    userId:'',
    userInfo: {
      avatarUrl: '/images/default-avatar.png', // 用户头像URL
      nickName: '', // 微信昵称
    },
    residentInfo:{
      id:'',
      username:'',//用户名
      phoneNumber:'',//手机号
      gender:'',
      idNumber:'',
      wechatId:'',
    },
  },
  
  onShow: function() {
    // 获取全局变量的实例
    const app=getApp();
    const baseUrl=app.globalData.baseUrl;
    // 检查登录状态
    const token=app.globalData.token;
    this.userId=app.globalData.userId;
    if (token) {
      this.setData({
        isLoggedIn: true,
        token:token,
      });
      // 获取用户头像信息
      this.getUserProfile();
    }
    wx.request({
      url: baseUrl+`/resident/resident/userId/${this.userId}`,
      method:'GET',
      header: {
        'Authorization': 'Bearer ' + token // 需要token认证
      },
      success:(res)=>{
        console.log('根据user_id获取到的用户信息',res.data);
        if(res.data.code===200){
          // 将查询到的数据赋值给userInfo
          this.setData({
            residentInfo:res.data.data
          })
          //将用户id存入到全局变量residentId中
          const residentId=res.data.data.id;
          app.globalData.residentId=residentId;
          console.log('设置的residentId:', residentId);
        }else{
          console.log('住户数据查询失败');
        }
      },
      fail: (err) => {
        console.error('获取住户信息请求失败:');
      }
    })
  },

  // 获取用户头像信息
  getUserProfile() {
    // 从本地存储获取用户信息
    const userInfo = wx.getStorageSync('userInfo');
    if (userInfo && userInfo.avatarUrl) {
      this.setData({
        'userInfo.avatarUrl': userInfo.avatarUrl,
        'userInfo.nickName': userInfo.nickName || ''
      });
    }
  },

  // 更换头像
  changeAvatar() {
    if (!this.data.isLoggedIn) {
      wx.showToast({
        title: '请先登录',
        icon: 'none'
      });
      return;
    }

    wx.showActionSheet({
      itemList: ['获取微信头像', '拍照', '从相册选择'],
      success: (res) => {
        switch (res.tapIndex) {
          case 0:
            // 获取微信头像
            this.getWechatAvatar();
            break;
          case 1:
            // 拍照
            this.chooseImage('camera');
            break;
          case 2:
            // 从相册选择
            this.chooseImage('album');
            break;
        }
      }
    });
  },

  // 获取微信头像
  getWechatAvatar() {
    wx.getUserProfile({
      desc: '用于完善用户资料',
      success: (res) => {
        console.log('获取微信头像成功:', res);
        const { avatarUrl, nickName } = res.userInfo;
        
        // 更新本地数据
        this.setData({
          'userInfo.avatarUrl': avatarUrl,
          'userInfo.nickName': nickName
        });

        // 保存到本地存储
        wx.setStorageSync('userInfo', {
          avatarUrl: avatarUrl,
          nickName: nickName
        });

        // 保存到全局变量
        const app = getApp();
        app.globalData.userInfo = {
          avatarUrl: avatarUrl,
          nickName: nickName
        };

        wx.showToast({
          title: '头像更新成功',
          icon: 'success'
        });

        // 可以在这里调用后端接口更新用户头像
        this.updateUserAvatar(avatarUrl);
      },
      fail: (err) => {
        console.error('获取微信头像失败:', err);
        if (err.errMsg.includes('getUserProfile:fail auth deny')) {
          wx.showModal({
            title: '提示',
            content: '需要获取您的头像信息，请在设置中允许授权',
            showCancel: false
          });
        } else {
          wx.showToast({
            title: '获取头像失败',
            icon: 'error'
          });
        }
      }
    });
  },

  // 选择图片（拍照或相册）
  chooseImage(sourceType) {
    wx.chooseImage({
      count: 1,
      sizeType: ['compressed'],
      sourceType: [sourceType],
      success: (res) => {
        const tempFilePath = res.tempFilePaths[0];
        
        // 预览图片
        wx.previewImage({
          urls: [tempFilePath],
          current: tempFilePath
        });

        // 询问是否使用该图片作为头像
        wx.showModal({
          title: '确认头像',
          content: '是否使用这张图片作为头像？',
          success: (modalRes) => {
            if (modalRes.confirm) {
              this.uploadAvatar(tempFilePath);
            }
          }
        });
      },
      fail: (err) => {
        console.error('选择图片失败:', err);
        wx.showToast({
          title: '选择图片失败',
          icon: 'error'
        });
      }
    });
  },

  // 上传头像
  uploadAvatar(filePath) {
    wx.showLoading({
      title: '上传中...'
    });

    // 更新本地显示
    this.setData({
      'userInfo.avatarUrl': filePath
    });

    // 保存到本地存储
    wx.setStorageSync('userInfo', {
      avatarUrl: filePath,
      nickName: this.data.userInfo.nickName || ''
    });

    wx.hideLoading();
    wx.showToast({
      title: '头像更新成功',
      icon: 'success'
    });

    // 可以在这里调用后端接口上传头像
    this.updateUserAvatar(filePath);
  },

  // 更新用户头像到后端
  updateUserAvatar(avatarUrl) {
    // 这里可以调用后端接口更新用户头像
    // 示例代码：
    /*
    const app = getApp();
    const baseUrl = app.globalData.baseUrl;
    const token = app.globalData.token;
    
    wx.request({
      url: baseUrl + '/user/updateAvatar',
      method: 'POST',
      header: {
        'Authorization': 'Bearer ' + token
      },
      data: {
        avatarUrl: avatarUrl
      },
      success: (res) => {
        if (res.data.code === 200) {
          console.log('头像更新到后端成功');
        }
      },
      fail: (err) => {
        console.error('头像更新到后端失败:', err);
      }
    });
    */
  },
  
  // 跳转到登录页
  goToLogin: function() {
    if (!this.data.isLoggedIn) {
      wx.navigateTo({
        url: '/pages/login/login'
      });
    }
  },
  goToNotification: function() {
    wx.navigateTo({
      url: '/mine/pages/my-messages/my-messages'
    });
  },


  // 点击我的房屋功能
  goToMyHouse: function() {
    wx.navigateTo({
      url: '/mine/pages/my-house/my-house'
    });
  },
  // 点击我的车辆功能
  goToMyCar: function() {
    wx.navigateTo({
      url: '/mine/pages/my-car/my-car'
    });
  },
  // 点击我的车位功能
  goToMyCarSpace: function() {
    wx.navigateTo({
      url: '/mine/pages/car-space/car-space'
    });
  },
  // 点击我的租房功能
  goToMyRent: function() {
    wx.navigateTo({
      url: '/mine/pages/my-rent/my-rent'
    })
  },

  // 跳转到我的合同页面
  goToMyContract: function() {
    wx.navigateTo({
      url: '/mine/pages/myContract/myContract'
    })
  },
  // 点击我的收藏功能
  goToMyFavorite: function() {
    wx.navigateTo({
      url: '/mine/pages/my-favorite/my-favorite'
    });
  },// 点击我的余额功能
  goToMyBlance: function() {
    wx.navigateTo({
      url: '/mine/pages/myBlance/myBlance'
    });  
  },
  // 点击缴费记录功能
  goToPaymentRecord: function() {
    wx.navigateTo({
      url: '/mine/pages/payment-record/payment-record'
    });
  },
  // 点击访客记录功能
  goToVisitorRecord: function() {
    wx.navigateTo({
      url: '/mine/pages/visitor-record/visitor-record'
    });
  },
  // 点击个人信息
  goToInformation: function() {
    wx.navigateTo({
      url: '/mine/pages/my-information/my-information'
    });
  },

  //点击修改密码
  updatePasswod:function(){
   wx.navigateTo({
     url: '/mine/pages/change-password/change-password',
   })
 }
});